Glue DataBrewからRedshiftに接続してみた
データアナリティクス(DA)事業本部の川崎です。
先日、コードを書かずに「データ前処理」を実行できる、ビジュアルデータ準備ツール Glue DataBrewがリリースされました。
まずは、普段使っているRedshiftに接続してみよう、ということで試してみました。
事前準備
事前準備として、Redshiftでサンプルデータの「tickit」をロードしておきます。
また、GlueからRedshiftに接続するためには、「自己参照ルール」を作成したセキュリティグループを、Redshiftに設定しておく必要があります。
【参考】JDBC データストアに接続するための VPC の設定
Glueコンソールで「接続」「テーブル」を用意する
DataBrewから、Redshiftに接続するためには、 Glueコンソール側で「接続」「テーブル」を用意しておきます。
「接続の追加」画面で、接続のプロパティを設定します。接続タイプは「Amazon Redshift」を選択します。「次へ」をクリックします。
データストアへのアクセスを設定します。 クラスターを選択肢から選び、データベース名、ユーザー名、パスワードを入力します。 「次へ」をクリックします。 次の確認画面で「完了」をクリックします。
作成した「接続」を選択し、「接続のテスト」を行います。 事前に作成しておいたIAMロール「AWSGlueServiceRole-xxx」を適用します。 「接続のテスト」をクリックします。
「テーブル」をクリックし、「テーブルの追加」から 「クローラを使用してテーブルを追加」を選択します。
「クローラの追加」画面で、クローラの名前を入力し、「次へ」をクリックします。
「Specify crawler source type」画面で、それぞれデフォルトのラジオボタンが選択されている状態で、「次へ」をクリックします。
「データストアの追加」画面で 「データストアの選択」として 「JDBC」を選択。
「接続」から先ほど作成した選択肢を選びます。 インクルードパスは、今回は「dev/tickit/%」とします。(Redshiftのサンプルデータベース「tickit」の各テーブル)
別のデータストアの追加画面では「いいえ」を選択。
「IAM ロールの選択」画面で、「接続のテスト」で利用したIAMロール「AWSGlueServiceRole-xxx」を選択します。
「このクローラのスケジュールを設定する」画面で頻度「オンデマンド」が選択された状態で「次へ」をクリックします。 確認画面が表示されるので、内容を確認し「完了」をクリックします。
作成したクローラをチェックした状態で「クローラの実行」をクリックします。数分ほど待つとクローラの実行が完了し、テーブルが作成されます。
DataBrewでプロジェクト作成
ここまでできたら、DataBrewの画面に移動します。 「プロジェクトを作成」をクリックします。
プロジェクト名を入力します。 有効な文字は、英数字 (A~Z、a~z、0~9)、ハイフン (-)、ピリオド (.)、およびスペースです。
「新しいデータセット」を選択し、データセット名を入力します。
「Amazon Redshift テーブル」を選択し、一覧で表示される、先ほど作成した「データベース」を選択します。 次いで、テーブル一覧が表示されるので、テーブル名をクリックします。 今回の手順に従うと「dev_tickit_users」というテーブル名になります。
ソースに「Amazon Redshift」を選択した際は、「S3 送信先」として、S3バケットのパスを入力する必要があります。
サンプリングのオプションは選択肢からお選びください。 ここではデフォルトの「最初のn行」「500」としてあります。
「アクセス許可」は、一旦「新しいIAMロールを作成」を選んでIAMロールを作成します。 「AWSGlueDataBrewServiceRole-xxx」という名前でIAMロールが作成されますので、 それを選択します。
画面一番下の「プロジェクトを作成」をクリックします。
コンピューティングのプロビジョニングが開始され、順次処理が行われます。
処理が完了すると、データセットの内容が画面に表示されます。初期画面の「グリッド」タブでは、スプレッドシートのような表示画面になります。
「スキーマ」のタブをクリックすると、各カラムの内容と、値の分散がグラフィカルに表示されます。
以上で、DataBrewでRedshiftのデータを利用する準備が整いました。
まとめ
ビジュアルデータ準備ツール「Glue DataBrew」で、 Redshiftのサンプルデータを取り込み、表示するところまでを試してみました。
SQLを使ったデータ探索の場合と比較して、 直感的な理解を促進する内容になっていると思います。
また、「Glue DataBrew」は使っただけの課金となりますので、手軽に試してみることができるのもメリットだと考えています。